跳到主要内容

Micropython API

电机

电机运转

robotbit.motor(电机序号, 速度, 运行时间)

  • 电机序号:0(所有电机),1~4(分别对应M1A,M1B,M2A,M2B)  
  • 速度:-255~255,负数为反转  
  • 运行时间:表示一定ms后电机停止,设为0则电机不会停止
import robotbit
robotbit.motor(0, 255, 0)

电机停止

robotbit.motorstop(电机序号)

  • 电机序号: 立刻停下对应电机,0(所有电机),1~4(对应M1A M1B M2A M2B)
import robotbit
robotbit.motorstop(0)

舵机

robotbit.servo(舵机序号, 舵机角度)

  • 舵机序号:0~7分别对应S1~S8  
  • 舵机角度:0~180 对应的是普通9g小舵机(180°转程的那种)
  • 如果使用的是喵家geekservo(-45~225°)和2KG(0~360°舵机)参照下述  
import robotbit 
robotbit.servo(0, 90)

# geekservo
robotbit.servo(0, int((舵机角度-90)/1.5+90))
# 2KG
robotbit.servo(0, int((舵机角度-180)*50/9+1500))

步进电机

robotbit.stepper(步进电机M1角度,步进电机M2角度)

  • 步进电机在达到设定角度的运转时间内,程序会卡死在这里
  • 360表示步进电机转动一圈360°,这里的步进电机参照为28byj
import robotbit
robotbit.stepper(0, 360)

RGB

import microbit  
import neopixel

np = neopixel.NeoPixel(microbit.pin16, 4)
# robotbit上的RGB灯是由microbit的pin16脚控制,所以这里定义引脚为pin16,且需要用到的RGB数量为板载的4颗

np[0] = (255, 0, 0)
# 设置第1颗RGB灯的颜色为红色。3个参数分别对应Red,Green,Blue。1~4颗RGB灯对应的np[参数]为0~3

np.show()
# 将你定义好的颜色显示出来,如果不加这一句,RGB是不会显示的哦。

蜂鸣器

这个使用的是microbit的官方库,固定为P0引脚

music.pitch(频率, 持续时间)

点击下载频率音调对照表

import music 
music.pitch(262500)
# 这是中音区的DO,响500ms

music.play(note)

  • note = NOTE[octave][:duration]
import music 
music.play('c4:4')
# c4:1对应的是octave:duration(八度:持续时间),影响持续时间的因素有2点:ticks和bpm
# 默认的duration的系数 = 600000/bpm/ticks ,而默认bpm = 120,ticks = 4, 所以c4:1为第四八度DO响500ms
# 如果music.play('c')效果是跟c4:4一样的,原因是默认的octave=4, duration=4
# 当然music库内还内置了一些编好的旋律,比如music.play(music.FUNK)

可供选择的内置旋律有:

DADADADUM、ENTERTAINER、PRELUDE、ODE、NYAN、RINGTONE、FUNK、BLUES、BIRTHDAY、WEDDING、FUNERAL、PUNCHLINE、PYTHON、BADDY、CHASE、BA_DING、WAWAWAWAA、JUMP_UP、JUMP_DOWN、POWER_UP、POWER_DOWN

可以跑一下官方的例子,播一段有趣快乐的旋律

from microbit import *
import music

# play Prelude in C.
notes = [
'c4:1', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5',
'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5', 'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5',
'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5', 'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5',
'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5',
'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5', 'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5',
'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5', 'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5',
'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5', 'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5',
'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5',
'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5',
'd3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5', 'd3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5',
'g3', 'b', 'd4', 'g', 'b', 'd', 'g', 'b', 'g3', 'b3', 'd4', 'g', 'b', 'd', 'g', 'b'
]

music.play(notes)

猫头超声波

超声波为喵家的带2颗RGB灯灯猫耳超声波,一般的HC-04超声波请把TRIG和ECHO短接)

robotbit.sonar(引脚)

import microbit
import robotbit
robotbit.sonar(microbit.pin1)